1. Field of the Invention
The present invention relates generally to the data processing field and, more particularly, to a computer implemented method, system and computer usable program code for searching for, creating and updating a data object.
2. Description of the Related Art
Information Technology Infrastructure Library (ITIL) is a framework of best practice approaches intended to facilitate the delivery of high quality information technology (IT) services. In order to facilitate the integration and automation of ITIL best practices, ITIL specifies the use of CMDB (Configuration Management Database) to leverage a single source of information. A CMDB is a unified or federated repository of information related to all the components of an information system. The IBM Tivoli® CMDB, for example, is a fundamental software component that provides a specific level of data integration across Tivoli products.
A CMDB tends to be a highly customized part of a customer's IT operational environment. While CMDB provides a significant number of class types for customers to store configuration and product related information, customers will typically have additional data which they would like to include in their own environment. The ability to be able to extend the CMDB is an important feature for a successful CMDB product.
CMDB extensions can be classified into two main categories:                1. Static (Optimized) extensions—This approach requires new code to be added to both client and server.        2. Dynamic (Generic) extensions—This approach does not require new code to be added.Currently, CMDB implements predefined configuration and process related attributes as CMDB static transfer objects which is similar to static SDO (Service Data Objects). SDO is a Java-based data programming model and architecture for accessing and updating data. These static transfer objects provide good performance; however, they provide little flexibility. They require attribute names and data types to be known at compilation time, and provide the static extensions.        
In order to enable customers to add additional configuration and process related attributes in their own environments, it is necessary for CMDB to provide a dynamic extension solution. Such a solution should involve a generic extension approach that does not require new code to be added, and does not require recompilation/deployment of the product. A dynamic SDO data object provides flexibility by providing a generic API (Application Programming Interface) and runtime data type binding. However, it also introduces performance overhead. In addition, by switching to a purely dynamic SDO data object implementation, it is necessary to rewrite a significant amount of code.
There is, accordingly, a need for a mechanism to enable a CMDB database to be extended in an efficient, flexible manner to facilitate searching, creating and updating a data object.